package com.hjb.service.config.constant;

import java.math.BigDecimal;

public class HJBConstant {
	/******************* 债权状态 **********************/
	public static class ClaimsStatus {
		/** 暂存 **/
		public static final int	PREVIEW						= 0;

		/** 正在编辑 **/
		public static final int	IS_EDITING					= 1;

		/** 等待审核 **/
		public static final int	WAITING_REVIEW				= 2;

		/** 审核通过 **/
		public static final int	REVIEWED_PASS				= 3;

		/** 退回 **/
		public static final int	REVIEWED_FAIL				= 4;

		/** 可交易 **/
		public static final int	IS_EXCHANGEABLE				= 5;

		/** 投标结束 **/
		public static final int	IS_UNEXCHANGEABLE			= 6;

		/** 流标 **/
		public static final int	UNCOMPLETED					= 7;

		/** 满标待审核 **/
		public static final int	COMPLETED_WAITING_REVIEW	= 8;

		/** 满标审核通过 **/
		public static final int	COMPLETED_REVIEWED			= 9;

		/** 还款结束 **/
		public static final int	COMPLETED_REPAY				= 10;

		/** 删除 **/
		public static final int	DELETED						= 11;
	}

	/******************* 债权类型 **********************/
	public static class ClaimsType {
		/** 借款标 */
		public static final int	LOAN		= 1;

		/** 转让标 **/
		public static final int	TRANSFER	= 2;
	}

	/******************* 转让债权的类型 **********************/
	public static class ClaimTransferType {
		/** 普通转让标 */
		public static final int	NORMAL		= 1;

		/** 内部二次转让标 **/
		public static final int	INNER		= 2;

		/** 普通二次转让标 **/
		public static final int	SECONDHAND	= 3;
		
		/** 投标期限可选的标的**/
		//public static final Integer	BRANDNEW	= 4;
	}

	/******************* 债权类型 **********************/
	public static class ClaimsDetailType {
		/** 个人标 */
		public static final int	PERSONAL	= 1;

		/** 企业标 **/
		public static final int	COMPANY		= 2;

		/** 政府标 **/
		public static final int	GOVERNMENT	= 3;
	}

	/******************* 债权计息方式 **********************/
	public static class InterestCalcMethod {
		/** 投标后，次日计息 */
		public static final int	OPTION_ONE		= 1;

		/** 即投即生息 */
		public static final int	OPTION_TWO		= 2;

		/** 满标次日计息 */
		public static final int	OPTION_THREE	= 3;
	}

	public enum ClaimsInterestCalcMethod {
		m1(1, "投标后次日计息"), m2(2, "即投即生息"), m3(3, "满标次日计息"), m4(4, "满标即生息"), m5(5, "挂牌截止日次日计息"), m6(6, "挂牌截止日当日计息");
		Integer	v;

		String	des;

		ClaimsInterestCalcMethod(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsInterestCalcMethod type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}
	}

	/******************** 债权转让类型 ********************************/
	public static class TransfeType {
		public static final Integer	ORIGINAL	= 0;	// 原始标

		public static final Integer	TRANSFER	= 1;	// 转让标

		public static final Integer	REPURCHASE	= 2;	// 回购标
	}

	/******************* 担保方式 **********************/
	public static class GuaranteeMethod {
		/** 本息担保 **/
		public static final int	ONE	= 1;

		/** 本金担保 */
		public static final int	TWO	= 2;
	}

	public enum ClaimsGuaranteeMethod {
		m1(1, "本息保障"), m2(2, "本金保障");
		Integer	v;

		String	des;

		ClaimsGuaranteeMethod(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsGuaranteeMethod type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}

	}

	/********** 推广活动 ******************/
	public enum PromMarkActivity {
		dt("地推");

		String	dest;

		public String getDest() {
			return dest;
		}

		PromMarkActivity(String dest) {
			this.dest = dest;
		}

	}
	/**
	 * 端午节推广活动兑换的价格
	 * @author Administrator
	 *
	 */
   public enum RiceDumplingExchangePrice{
     cast_leaves(1, 10000), glutinous_rice(2,50000),chinese_date(3,20000),rice_dumpling(4,80000);
		Integer	v;

		Integer	des;

		RiceDumplingExchangePrice(Integer v, Integer des) {
			this.v = v;
			this.des = des;
		}

		public static Integer getCN(Integer v) {
			for (RiceDumplingExchangePrice type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return 0;
		}

		public Integer getV() {
			return this.v;
		}

		public Integer getDes() {
			return this.des;
		}
   }
	public enum CLAIMS_DISTRICT {
		gudingshouyi(1, "固定收益类资产"), xinshouzhuanxiang(2, "新用户专享");

		Integer	v;

		String	dest;

		public String getDest() {
			return dest;
		}

		public Integer getV() {
			return v;
		}

		CLAIMS_DISTRICT(Integer v, String dest) {
			this.v = v;
			this.dest = dest;
		}

	}

	/******************* 是否担保 **********************/
	public static class GuarantableTag {
		/** 担保 */
		public static final int	TRUE	= 1;

		/** 不担保 */
		public static final int	FALSE	= 0;
	}

	/******************* 还款计划状态 **********************/
	public static class RepaymentStatus {
		/** 待还款 **/
		public static final int	WAITING			= 1;

		/** 正常还款 **/
		public static final int	DONE			= 2;

		/** 逾期未还 **/
		public static final int	OVERDUE			= 3;

		/** 逾期已还 **/
		public static final int	OVERDUE_DONE	= 4;
		
		/** 还款提前结束 **/
		public static final int	REPAY_OVER		= 5;
	}

	public enum RepaymentStatusEnum {
		WAITING(1, "正常待还"), DONE(2, "正常已还"), OVERDUE(3, "逾期未还"), OVERDUE_DONE(4, "逾期已还");

		Integer	v;

		String	des;

		RepaymentStatusEnum(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (RepaymentStatusEnum type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}

	}

	/******************* 收款计划状态 **********************/
	public static class ReceiveStatus {
		/** 待收款 **/
		public static final int	WAITING			= 1;

		/** 正常收款 **/
		public static final int	DONE			= 2;

		/** 逾期未收 **/
		public static final int	OVERDUE			= 3;

		/** 逾期已收 **/
		public static final int	OVERDUE_DONE	= 4;

		/** 收款提前结束 **/
		public static final int	RECEIVE_OVER	= 7;
	}

	public enum ReceiveStatusEnum {
		WAITING(1, "正常待收"), DONE(2, "正常已收"), OVERDUE(3, "逾期未收"),
			OVERDUE_DONE(4, "逾期已收"), PARTIAL_TRANSFER(5, "部分转让"), TOTAL_TRANSFER(6, "全部转让"), RECEIVE_OVER(7, "提前结束");

		Integer	v;

		String	des;

		ReceiveStatusEnum(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ReceiveStatusEnum type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}

	}

	public enum BankUnBind {
		AUDITING(0, "审核中"), AUDITSUCCESS(1, "审核通过"), AUDITFAIL(2, "审核拒绝"), CANCLE(3, "撤销");

		Integer	v;

		String	des;

		BankUnBind(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (BankUnBind type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}
	}

	/**
	 * @Description 该枚举类只为前端文字显示使用
	 * @author jun
	 * @version mailto:guojun828@126.com
	 */
	public enum UnbindStatus {
		OPEN(3, "正常"), CLOSE(4, "已删除");
		Integer	v;

		String	des;

		UnbindStatus(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (UnbindStatus type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}
	}

	/******************** 交易类型 ************************/
	// comment out by zhouwei, please use exchangeType enum instead
	public static class ExchangeTypeForCashIO {
		/** 发标 **/
		public static final int	CLAIM_PUBLISH		= 0;

		/** 投标 **/
		public static final int	CLAIM_BID			= 1;

		/** 转标 **/
		public static final int	CLAIM_TRANSFER		= 2;

		/** 还款 **/
		public static final int	CLAIM_REPAY			= 3;

		/** 赔付 **/
		public static final int	CLAIM_COMPENSATE	= 4;

		/** 回购 **/
		public static final int	CLAIM_REPURCHASE	= 5;

		/** 充值 **/
		public static final int	CASH_RECHARGE		= 6;

		/** 提现 **/
		public static final int	CASH_WITHDRAW		= 7;
	}

	/******************* 角色类型 **********************/
	public static class RoleTye {
		/** 债权人 */
		public static final String	CREDITOR	= "CREDITOR";

		/** 债务人 */
		public static final String	DEBTOR		= "DEBTOR";

		/** 担保人 */
		public static final String	GUARANTOR	= "GUARANTOR";

		/** 内部用户 */
		public static final String	UNITUSER	= "UNITUSER";

		/** 回购商(做客商) */
		public static final String	BUY_BACK	= "BUYBACK";
	}

	public static class UserRole {
		/******************* 用户角色 **********************/
		/** 债权人-个人 */
		public static final String	CREDITOR_PERSONAL		= "CREDITOR_PERSONAL";

		/** 债权人-公司 */
		public static final String	CREDITOR_COMPANY		= "CREDITOR_COMPANY";

		/** 债务人-个人 */
		public static final String	DEBTOR_PERSONAL			= "DEBTOR_PERSONAL";

		/** 债务人-公司 */
		public static final String	DEBTOR_COMPANY			= "DEBTOR_COMPANY";

		/** 担保人-个人 */
		public static final String	GUARANTOR_PERSONAL		= "GUARANTOR_PERSONAL";

		/** 担保人-公司 */
		public static final String	GUARANTOR_COMPANY		= "GUARANTOR_COMPANY";

		/** 管理员 */
		public static final String	UNIT_ADMIN				= "UNIT_ADMIN";

		/** 客服 */
		public static final String	UNIT_CUSTOMER_SERVICE	= "UNIT_CUSTOMER_SERVICE";

		/** 审核员 */
		public static final String	UNIT_AUDITORS			= "UNIT_AUDITORS";

		/** 广群边界用户 */
		public static final String	SYS_CDEDGE_ROLE			= "SYS_CDEDGE_ROLE";

		/** 佣金账户 */
		public static final String	SYS_CHARGE_ROLE			= "SYS_CHARGE_ROLE";

		/** 回购商(做客商) */
		public static final String	BUYBACK_COMPANY			= "BUYBACK_COMPANY";

		/** 回购商(做客商) */
		public static final String	BUYBACK_PERSONAL		= "BUYBACK_PERSONAL";

		/** 财务 */
		public static final String	UNIT_FINANCE			= "UNIT_FINANCE";
	}

	/******************* 用户类型 **********************/
	public static class UserType {
		/** 理财 */
		public static final int	FINANCING			= 0;

		/** 借款 */
		public static final int	LOAN				= 1;

		/** 借担保 */
		public static final int	ASSURE				= 2;

		/** 市商 */
		public static final int	DEALERSHIP			= 3;

		/** 原始债权人 */
		public static final int	ORIGINALCREDITOR	= 4;

	}

	public static class UserTypeStr {
		/** 理财 */
		public static final String	FINANCING			= "financing";

		/** 借款 */
		public static final String	LOAN				= "ROLE_DEBTOR";

		/** 借担保 */
		public static final String	ASSURE				= "ROLE_GUARANTOR";

		/** 市商 */
		public static final String	DEALERSHIP			= "ROLE_REPURCHASE_PARTY";

		/** 原始债权人 */
		public static final String	ORIGINALCREDITOR	= "ROLE_ORIGINALCREDITOR";

		/** 做市商 */
		public static final String	MARKETMAKER			= "ROLE_MARKETMAKER";

		public static final String	ADMIN				= "admin";

	}

	/******************* 用户状态 **********************/
	public static class UserStatus {
		/** 正常 */
		public static final Integer	NORMAL	= 1;

		/** 锁定 */
		public static final Integer	LOCK	= 2;

		/** 登录 */
		public static final Integer	LOGIN	= 3;

		/** 登出(注销) */
		public static final Integer	LOGOUT	= 4;

		/** 冻结 */
		public static final Integer	FREEZED	= 5;

		/** 正在编辑 */
		public static final Integer	EDITING	= 6;

	}

	/******************* 是否 **********************/
	/** 是 */
	public static String	YES		= "1";

	/** 否 */
	public static String	NO		= "0";

	/** 是 */
	public static int		YESINT	= 1;

	/** 否 */
	public static int		NOINT	= 0;

	/******************* 注册类型 **********************/
	public static class RegisterType {
		// 0：本地；1：QQ；2：微信；3:微博
		public static final int	LOCAL	= 0;

		public static final int	QQ		= 1;

		public static final int	WECHAT	= 2;

		public static final int	WEIBO	= 3;
	}

	/******************* 文件定位常量 **********************/
	public static class FileLocation {
		/** 文件定位的bean */
		public static final String	FILE_LOCATOR_BEAN		= "file";

		/** 临时文件定位的bean */
		public static final String	FILE_LOCATOR_TEMP_BEAN	= "tempFile";

		/** 文件定位的路径 */
		public static final String	FILE_LOCATOR_PATH		= "path";
	}

	/******************* 附件关联类型 **********************/
	public static class AttachmentLink {
		/** 关联用户 */
		public static final int	RELATIVE_PERSON	= 0;

		/** 关联债权 */
		public static final int	RELATIVE_CLAIM	= 1;
	}

	/**************** 附件类型（是否展示用） ***********************/
	public static class AttachmentType {
		/** 展示用 */
		public static final int	FILE_SHOW	= 0;

		/** 系统保存 */
		public static final int	FILE_SAVE	= 1;
	}

	/*
	 * public static enum RegChannel { web(0), android(1), weixin(2), ios(3),
	 * oms(4);
	 * 
	 * private Integer type;
	 * 
	 * public Integer getType() { return type; }
	 * 
	 * RegChannel(Integer type) { this.type = type; } }
	 */

	/******************* 附件类型 ******************/
	public static class AttachTye {
		/** 债权合同 **/
		public static final int	CLAIM_CONTRACT					= 0;

		/** 担保合同 **/
		public static final int	GUARANT_CONTRACT				= 1;

		/** 担保合同 **/
		public static final int	IDNUMBER_IMAGE					= 2;

		/** 担保合同 **/
		public static final int	TAX_REGISTRATION				= 3;

		/** 公司章程 **/
		public static final int	COMPANY_RULE					= 4;

		/** 贸易合同 **/
		public static final int	BUSINESS_CONTRACT				= 5;

		/** 营业执照 **/
		public static final int	BUSINESS_LISENCE				= 6;

		/** 开户许可证 **/
		public static final int	ACCOUNT_OPENING					= 7;

		/** 财务报表 **/
		public static final int	FINANCIAL_STATEMENT				= 8;

		/** 负载证明 **/
		public static final int	DEBT_PROOF						= 9;

		/** 其他 **/
		public static final int	OTHER							= 10;

		/** 债权基本信息 **/
		public static final int	CLAIM_BASE						= 11;

		/** 债券风控信息 **/
		public static final int	CLAIM_RISK						= 12;

		/** BANNER **/
		public static final int	BANNER							= 13;

		/** 内容科目 **/
		public static final int	Content_Subject					= 14;

		/** 债权草稿基本信息 **/
		public static final int	CLAIM_BASE_DRAFT				= 15;

		/** 债券风控草稿 **/
		public static final int	CLAIM_RISK_DRAFT				= 16;

		/** 原始债权合同信息 **/
		public static final int	ORIGINAL_CLAIM_CONTRACT			= 17;

		/** 原始债权担保信息 **/
		public static final int	ORIGINAL_CLAIM_GUARANTEE		= 18;

		/** 原始债权基本信息 **/
		public static final int	ORIGINAL_CLAIM_BASE				= 19;

		/** 原始债权风控基本信息 **/
		public static final int	ORIGINAL_CLAIM_RISK_BASE		= 20;

		/** 债权资产来源WEB端LOGO **/
		public static final int	CLAIM_ASSET_SOURCE_WEB_LOGO		= 21;

		/** 债权资产来源移动端LOGO **/
		public static final int	CLAIM_ASSET_SOURCE_MOBILE_LOGO	= 22;

		/** app社区文章缩略图 **/
		public static final int	APP_COMMUNITY					= 23;

		/** app社区文章内容图 **/
		public static final int	APP_ARTICLE_CONTENT				= 24;
		
		/**云购商品图*/
		public static final int	CP_PRODUCT				= 25;
		
	}

	/******************* 附件类型（是否缩略图） *******************/
	public static class AttachmentIsThumbnail {
		/** 缩略图 */
		public static final int	TURE	= 1;

		/** 非缩略图 */
		public static final int	FALSE	= 0;
	}

	/******************* 交易渠道 **********************/
	// delete after 2017/5/9
	/*
	 * public static class TerminalType { public static final int WEB = 0;
	 * 
	 * public static final int ANDROID = 1;
	 * 
	 * public static final int WECHAT = 2;
	 * 
	 * public static final int IOS = 3;
	 * 
	 * public static final int OMS = 4;
	 * 
	 * public static final int OTHER = 5;
	 * 
	 * public static final int MWEB = 6; }
	 */

	/******************* 借贷标志 **********************/
	public static class DirectionTag {
		public static final int	IN	= 0;

		public static final int	OUT	= 1;
	}

	/** ******************回购状态************************* */
	public static class RepurchaseStatus {
		/** 取消 */
		public static final int	CANCELED	= 0;

		/** 等待回购 */
		public static final int	WAITING		= 1;

		/** 已经回购 */
		public static final int	DONE		= 2;
	}

	/******************** 赎回人类型 ********************************/
	public static class RepurchaseManStatus {
		public static String	RETURNBACK_PERSONAL	= "0";	// 赎回人类型-个人

		public static String	RETURNBACK_BUSINESS	= "1";	// 赎回人类型-公司
	}

	public static final int	REPURCHASE_TIME	= 7;	// 做市商执行赎回需要的时间,单位(天)

	/********************* 债务人类型 ************************/
	public static class DebtorStatus {
		public static final int	PERSONAL	= 0;	// 债务人类型-个人

		public static final int	OBUSINESS	= 1;	// 债务人类型-公司
	}

	/********************* 用户类型 ************************/
	public static class UserDutyType {
		public static final int	PERSONAL	= 0;	// 类型-个人

		public static final int	OBUSINESS	= 1;	// 类型-公司
	}

	/******************** 收款计划赔付状态(0:无需赔付，1：待赔付，2：已赔付) *********************/
	public static class CompensationStatus {
		/** 无需赔付 **/
		public static final int	NONE	= 0;	// 无需赔付

		/** 待赔付 **/
		public static final int	WAITING	= 1;	// 待赔付

		/** 已赔付 **/
		public static final int	DONE	= 2;	// 已赔付
	}

	/*************************** 还款方式 ***********************************/
	public static class ReturnMethod {
		/** 按月付息，到期还本付息 **/
		public static final int	ONE		= 1;

		/** 按日等额本金 **/
		public static final int	TWO		= 2;

		/** 按月等额本金 **/
		public static final int	RTHREE	= 3;

		/** 按日等额本息 **/
		public static final int	FOUR	= 4;

		/** 按月等额本息 **/
		public static final int	FIVE	= 5;

		/** 按季付息，到期还本付息 **/
		public static final int	SIX		= 6;

		/** 半年付息，到期还本 **/
		public static final int	SEVEN	= 7;

		/** 一次性付清 */
		public static final int	EIGHT	= 8;

		/**
		 * 固定还款日
		 */
//		public static final int NINE=9;
		
	}

	/******************* 交易渠道 **********************/
	public enum ChannelType {
		WEB(1, "web"), APP(2, "app"), WEIXIN(3, "weixin"), OTHER(4, "other"), APPSQ(5, "appsq"), CREDIT(6, "credit");
		Integer	v;

		String	des;

		ChannelType(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ChannelType type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public static String getCNByKey(String key) {
			String val = "";
			switch (key) {
			case "WEB":
				val = ChannelType.WEB.getDes();
				break;
			case "APP":
				val = ChannelType.APP.getDes();
				break;
			case "WEIXIN":
				val = ChannelType.WEIXIN.getDes();
				break;
			case "APPSQ":
				val = ChannelType.APPSQ.getDes();
				break;
			case "CREDIT":
				val = ChannelType.CREDIT.getDes();
				break;
			case "OTHER":
				val = ChannelType.OTHER.getDes();
				break;
			}
			return val;
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}
	}

	public enum ClaimsRepaymentMethod {
		m1(1, "按月付息，到期还本"), m2(2, "按日等额本金"), m3(3, "按月等额本金"), m4(4, "按日等额本息"), m5(5, "按月等额本息"), m6(6, "按季付息，到期还本付息"), m7(7, "半年付息，到期还本"), m8(8,
				"一次性还本付息")/*,m9(9,"固定还款日")*/;
		Integer	v;

		String	des;

		ClaimsRepaymentMethod(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsRepaymentMethod type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}

	}

	/**************** 是否可卖 ****************************/
	public static class SellabeTag {
		/** 不可卖 **/
		public static final int	FALSE	= 0;

		/** 可以卖 **/
		public static final int	TRUE	= 1;
	}

	/**************** 是否部分卖 ****************************/
	public static class DividableTag {
		/** 不可部分卖 **/
		public static final int	FALSE	= 0;

		/** 可部分卖 **/
		public static final int	TRUE	= 1;
	}

	/******************** 赔付方法 *************************/
	public static class CompensationMethod {
		public static final int	CAPITAL_INTEREST	= 1;	// 本息赔付

		public static final int	CAPITAL				= 2;	// 本金赔付
	}

	/******************* 科目代码 *************************/
	public static class AccountSubject {
		/** 现金余额 */
		public static final String	SBJ_1001	= "1001";

		/** 冻结金额 */
		public static final String	SBJ_1302	= "1302";

		/** 应收账款 */
		public static final String	SBJ_1122	= "1122";

		/** 应付账款 */
		public static final String	SBJ_2241	= "2241";

		/** 其它(如:体验金) */
		public static final String	SBJ_1021	= "1021";
	}

	/******************* 交易处理状态 *************************/
	public static class RechargeWithdrawStatus {
		/** 交易未处理 */
		public static final int	PENDING		= 0;

		/** 交易处理成功 */
		public static final int	SUCCESS		= 1;

		/** 富友受理提现交易成功，定时任务扫描查询提现交易 */
		public static final int	DOWITHING	= 2;

		/** 交易处理失败 */
		public static final int	FAIL		= 3;

		/** 记录富友抛异常的状态 */
		public static final int	EXCEPTION	= 4;

		/** 手工撤销过 */
		public static final int	MANUAL_UNDO	= 5;
	}

	/** *********页面跳转来源类型 *************/
	public static class PageRedirectFrom {
		/** 银行卡管理 */
		public static final int	BANKCARD_MGM		= 1;

		/** 充值 */
		public static final int	CASH_RECHARGE		= 2;

		/** 提现 */
		public static final int	CASH_WITHDRAW		= 3;

		/** 投标 */
		public static final int	CLAIMS_BID			= 4;

		/** 投标确认 */
		public static final int	CLAIMS_BID_CONFIRM	= 5;
	}

	/** *************投标处理状态 ************/
	public static class BidClaimHanldeStatus {
		/** 未处理 */
		public static final int	PENDING	= 0;

		/** 处理失败 */
		public static final int	FAIL	= 1;

		/** 处理成功 */
		public static final int	SUCCESS	= 2;
	}

	/******************* 内容状态 *******************/
	public static class ContentStatus {
		/** 待提交审核 */
		public static final int	WAITING_REVIEW	= 0;

		/** 审核中 */
		public static final int	REVIEWING		= 1;

		/** 审核通过 */
		public static final int	REVIEWED_PASS	= 2;

		/** 审核不通过 */
		public static final int	REVIEWED_DENY	= 3;

		/** 删除 */
		public static final int	DELETED			= 4;
	}

	/****************** 发布信息上线状态 *********************/
	public static class ContentPublishStatus {
		/** 待上线 **/
		public static final int	WAITING_ONLINE	= 0;

		/** 上线 **/
		public static final int	ONLINE			= 1;

		/** 下线 **/
		public static final int	OFFLINE			= 2;
	}

	/******************* 证件类型 ******************/
	public static class CertTye {
		/** 债权合同 **/
		public static final int	CLAIM_CONTRACT		= 0;

		/** 担保合同 **/
		public static final int	GUARANT_CONTRACT	= 1;

		/** 身份证照 **/
		public static final int	IDNUMBER_IMAGE		= 2;

		/** 税务登记证 **/
		public static final int	TAX_REGISTRATION	= 3;

		/** 公司章程 **/
		public static final int	COMPANY_RULE		= 4;

		/** 贸易合同 **/
		public static final int	BUSINESS_CONTRACT	= 5;

		/** 营业执照 **/
		public static final int	BUSINESS_LISENCE	= 6;

		/** 开户许可证 **/
		public static final int	ACCOUNT_OPENING		= 7;

		/** 财务报表 **/
		public static final int	FINANCIAL_STATEMENT	= 8;

		/** 负债证明 **/
		public static final int	DEBT_PROOF			= 9;

		/** 其他 **/
		public static final int	OTHER				= 10;

		/** 债权基本信息 **/
		public static final int	CLAIM_BASE			= 11;

		/** 债券风控信息 **/
		public static final int	CLAIM_RISK			= 12;
	}

	/** 内容页面来源类型 */
	public static class ContenPageSource {
		/** 查看页面 */
		public static final String	CST_VIEW	= "VIEW";

		/** 编辑页面 */
		public static final String	CST_UPDATE	= "UPDATE";

		/** 审核页面 */
		public static final String	CST_AUDIT	= "AUDIT";
	}

	/** 三方支付 */
	public static class ThirdPay {
		public static Long	FUYOU_PAY	= 1L;
	}

	/** 三方支付费率 */
	public static class ThirdPayFEE {
		public static BigDecimal	LIANLIAN_PAY_FEE		= new BigDecimal("0.002");	// 富友充值费率

		public static BigDecimal	LIANLIAN_WITHDRAY_FEE	= new BigDecimal("1");		// 富友提现手续费
	}

	/** 交易类型 */
	public static class TransactionType {
		public static final int	BID			= 1;	// 投标

		public static final int	CLAIM		= 2;	// 转标

		public static final int	RECHARGE	= 3;	// 充值

		public static final int	WITHDRAW	= 4;	// 提现

		public static final int	REPAYMENT	= 5;	// 还款
	}

	/** 借贷方向 */
	public static class Direction {
		public static final int	LEND	= 0;	// 贷出

		public static final int	BORROW	= 1;	// 借入
	}

	// 与可行讨论后,系统的用户ID和账号ID都从10000开始,普通用户从100500开始
	/** 系统保留账号 */
	public static class MMKAccount {
		public static final Long	SYSTEM						= 10000L;	// 系统账户

		public static final Long	SUBACCOUNT_HEAD				= 10001L;	// 系统总账户

		public static final Long	SUBACCOUNT_RISKRESERVE		= 10002L;	// 风险备付金账户

		public static final Long	SUBACCOUNT_CASHDEPOSIT		= 10003L;	// 保证金账户

		public static final Long	SUBACCOUNT_FEE				= 10004L;	// 系统手续费账户

		public static final Long	SUBACCOUNT_COUPON			= 10005L;	// 系统体验金子账户

		public static final Long	SUBACCOUNT_REDENVELOP		= 10006L;	// 红包账户

		public static final Long	SUBACCOUNT_CHANGE			= 10007L;	// 零头账户

		public static final Long	SUBACCOUNT_COMMISION		= 10008L;	// 佣金账户
		
		public static final Long	SUBACCOUNT_RED		= 10009L;	// 红包账户
		
		public static final Long	SUBACCOUNT_Coupon		= 10010L;	// 加息券账户
		
		public static final Long	SUBACCOUNT_INVITATION		= 10011L;	// 邀请奖励账户
	}

	public static class MMKUserID {
		public static final Long	SYSTEM					= 10000L;	// 系统管理账户UserID

		public static final Long	SUBUSER_HEAD			= 10001L;	// 系统总账户UserID

		public static final Long	SUBUSER_RISKRESERVE		= 10002L;	// 风险备付金账户UserID

		public static final Long	SUBUSER_CASHDEPOSIT		= 10003L;	// 保证金账户UserID

		public static final Long	SUBUSER_FEE				= 10004L;	// 系统手续费账户UserID

		public static final Long	SUBUSER_COUPON			= 10005L;	// 系统体验金子账户UserID

		public static final Long	SUBUSER_REDENVELOP		= 10006L;	// 红包账户UserID

		public static final Long	SUBUSER_CHANGE			= 10007L;	// 零头账户UserID

		public static final Long	SUBUSER_COMMISION		= 10008L;	// 佣金账户UserID
		
		public static final Long	SUBACCOUNT_RED		= 10009L;	// 红包账户
		
		public static final Long	SUBACCOUNT_Coupon		= 10010L;	// 加息券账户
		
		public static final Long	SUBACCOUNT_INVITATION		= 10011L;	// 邀请奖励账户
	}

	/****************** 投标账单处理状态 **********************/
	public static class BidOrderStatus {
		// 等待处理
		public static final int	WAITING	= 0;

		// 处理成功
		public static final int	SUCCESS	= 1;

		// 处理失败
		public static final int	FAILURE	= 2;

		// 超时
		public static final int	TIMEOUT	= 3;

		// 取消
		public static final int	CANCEL	= 4;
	}

	public static void main(String[] args) {
		System.out.println(ClaimsRepaymentMethod.m2.v);
	}

	// 赎回手续费率
	public static final BigDecimal	REPURCHASE_COMMISSION_RATE	= new BigDecimal("0.0025");

	// 通用精度
	public static final int			GENERAL_SCALE				= 4;

	// 分页显示,每页最多显示
	public static final Integer		MAX_PAGE_SIZE				= 200;

	public static final Integer		DEFAULT_PAGE_SIZE			= 200;

	// banner数量限制
	public static final Integer		DEFAULT_BANNER_SIZE			= 12;

	public static class IsFirstLogin {
		public static final int	YES	= 1;

		public static final int	NO	= 0;
	}

	/**
	 * @Description 密码强度
	 * @author jun
	 * @version mailto:guojun828@126.com
	 */
	public static class PwdStrength {
		public final static int	INIT	= -1;

		public final static int	WEAK	= 1;

		public final static int	GENERAL	= 2;

		public final static int	STRONG	= 3;

	}

	/******************* wap状态 **********************/
	public static class WapStatus {
		public static final Integer	failure			= 0;

		public static final Integer	success			= 1;

		public static final Integer	token_inValid	= 2;

		public static final Integer	param_inValid	= 3;

		public static final Integer	sign_notNull	= 4;

		public static final Integer	sign_error		= 5;

		public static final Integer	not_login		= 6;

		public static final Integer	err404			= 7;

		public static final Integer	err500			= 8;
	}

	/******************* 提现状态 **********************/
	public static class WithDraw {
		/*
		 * public static final Integer WITHDRAWNODO = 0;//未处理 public static
		 * final Integer WITHDRAWSUCCESS = 1;//成功 public static final Integer
		 * WITHDRAWING = 2;//提现处理中 public static final Integer WITHDRAWFAIL =
		 * 3;//提现失败
		 */
	}

	/******************* 银行卡解绑状态 **********************/
	public static class BankCardUnbindStatus {
		public static final Integer	NOUNBIND	= 0;	// 未解绑

		public static final Integer	UNBINDED	= 1;	// 已解绑
		
		public static final Integer	WAITBIND	= 3;	// 待绑定
	}

	public static class OperStatus {
		public static final Integer	NODO	= 0;	// 默认

		public static final Integer	SUCCESS	= 1;	// 成功

		public static final Integer	FAIL	= 2;	// 失败
	}

	public static class FP_SUBJECT {
		/** 现金余额 */
		public static final String	SBJ_1001	= "1001";

		/** 冻结金额 */
		public static final String	SBJ_1302	= "1302";
	}

	public static class WITHDRAW_TYPE {
		public static Integer	WITHDRAW_TYPE_PRI	= 0;	// 对私

		public static Integer	WITHDRAW_TYPE_PUB	= 1;	// 对公
	}

	/** 新闻主题分类 */
	public static class SubjectType {
		public static Integer	SUBJECT_INIT	= 0;	// 默认主题分类

		public static Integer	SUBJECT_SEO		= 1;	// SEO专用分类
	}

	/**
	 * 是否可以投标
	 * 
	 * @author zhouwei
	 *
	 */
	public enum Bidable {
		BIDABLE(1, "可以投标"), ALREADY_BID(2, "只能投一次"), OLD_USER(3, "您已经是资深用户了,不能投资新手标");
		Integer	v;

		String	des;

		Bidable(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (Bidable type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}
	}

	/******************* 债权状态 **********************/
	public enum ClaimsStatusEnum {
		PREVIEW(0, "暂存"), IS_EDITING(1, "正在编辑"), WAITING_REVIEW(2, "等待审核"), REVIEWED_PASS(3, "审核通过"), REVIEWED_FAIL(4, "退回 "), IS_EXCHANGEABLE(5,
				"可交易"), IS_UNEXCHANGEABLE(6, "投标结束"), UNCOMPLETED(7, "流标"), COMPLETED_WAITING_REVIEW(8, "满标待审核"), COMPLETED_REVIEWED(9, "满标审核通过"), COMPLETED_REPAY(
				10, "还款结束"), DELETED(11, "删除");
		Integer	v;

		String	des;

		ClaimsStatusEnum(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsStatusEnum type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}
	}

	/**************************************** 担保借款保证金收取方式 *****************************************/
	public enum PlateformChargeMethod {
		m1(1, "一次性收取"), m2(2, "按年化率收取");
		Integer	v;

		String	des;

		PlateformChargeMethod(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (PlateformChargeMethod type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}

		public String getDes() {
			return this.des;
		}

	}

	public static enum TriggerTimerMethod {
		work, triggerWork
	}

	public static enum SessionAttribute {
		UPDATE_MOBILE_STEP("UPDATE_MOBILE_STEP"), FORGET_PWD("forget_pwd");

		String	des;

		SessionAttribute(String des) {
			this.des = des;
		}

		public String getDes() {
			return this.des;
		}
	}

	/*
	 * public static final String FORGET_PWD = "forget_pwd";
	 * 
	 * public static final String UPDATE_MOBILE_STEP = "UPDATE_MOBILE_STEP";
	 */

	/*
	 * private static enum RegChanneleEnum { web(0, "WEB"), android(1,
	 * "Andriod"), weixin(2, "微信"), ios(3, "IOS"), oms(4, "OMS");
	 * 
	 * Integer v;
	 * 
	 * String des;
	 * 
	 * RegChanneleEnum(Integer v, String des) { this.v = v; this.des = des; }
	 * 
	 * public static String getCN(Integer v) { for (RegChanneleEnum type :
	 * values()) { if (type.v.equals(v)) { return type.des; } } return ""; }
	 * 
	 * public Integer getV() { return this.v; }
	 * 
	 * public String getDes() { return this.des; } }
	 */

	/**
	 * 电子券类型
	 * 
	 * @author zhouwei
	 *
	 */
	public enum ECouponType {
		xianjinyouhui(1, "现金优惠券"), zhekouyouhui(2, "折扣优惠券");
		Integer	v;

		String	des;

		ECouponType(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ECouponType type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}
	}

	public enum ECouponReason {
		prom_over(1, "活动已经结束"), invalid_code(2, "邀请码无效"), no_more(3, "券已被领完");

		Integer	v;

		String	des;

		ECouponReason(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public Integer getV() {
			return this.v;
		}

		public static String getCN(Integer v) {
			for (ECouponReason type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

	}

	/**
	 * 电子券类型
	 * 
	 * @author zhouwei
	 *
	 */
	public enum ECouponStatus {
		weifafang(1, "未发放"), yifafang(2, "已发放"), yiguoqi(3, "已过期"), yishiyong(4, "已使用"), zuofei(5, "作废");
		Integer	v;

		String	des;

		ECouponStatus(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ECouponStatus type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}
	}

	/**
	 * 公司短信签名,由于梦网科技不需要签名,所以现在用的签名为空
	 */
	public static final String	sign	= "";	// "【鑫隆创投】";

	/**
	 * 还款计划的还款类型
	 * 
	 * @author litao
	 *
	 */
	public enum ClaimsRepayType {
		normal(0, "普通还款"), inc_interest(1, "加息还款"), subsidy(2, "贴息还款");
		Integer	v;

		String	des;

		ClaimsRepayType(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsRepayType type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}
	}

	/**
	 * 累计收益科目
	 * 
	 * @author zhouwei
	 *
	 */
	public enum AccumulateIncome {
		lotteryRedPacket(0, "抽奖红包"), claimsInterest(1, "债权收益"), cashBackForInvitedBid(0, "好友投资返现"), mmbInterest(2, "喵喵宝收益"), cashBackForSeflBid(0,
				"自己投资自己返现"), incInterest(0, "加息券收益");

		/**
		 * 0 活动类 1 债权类
		 */
		Integer	type;

		// 收益描述
		String	des;

		AccumulateIncome(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (AccumulateIncome type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}
	}

	/**
	 * 债权资产来源
	 * 
	 * @author litao
	 *
	 */
	public enum ClaimsAssetSource {
		xinlong(1, "鑫隆");
		Integer	v;

		String	des;

		ClaimsAssetSource(Integer v, String des) {
			this.v = v;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsAssetSource type : values()) {
				if (type.v.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.v;
		}
	}

	/**
	 * 滚红包状态
	 * 
	 * @author xuxiwei
	 *
	 */
	public enum RollRedStatus {
		unreleased(1, "未发放"), released(2, "已发放"), expired(3, "过期");

		Integer	type;

		String	des;

		RollRedStatus(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (RollRedStatus type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}
	}

	// 滚红包
	public static final String	KEY_GUN_HONG_BAO	= "key_gun_hong_bao";

	// 二次转标设置
	public static class DividableClaimConfiguration {
		public static final int	BEFORE_DAYS	= 3;

		public static final int	AFTER_DAYS	= 2;
		
		public static final int	BID_WINDOW	= 14;
		
		public static final int	QUIT_WINDOW	= 7;
	}

	public static final String	RED_CASH_DESC	= "红包可当作现金用于投资，适用于一个月以上的固定期限标的（不含招财喵和喵喵宝）";
	public static final String	INC_INTEREST_DESC	= "用于非“喵喵宝、招财喵、聚财喵”标的，享受额外加息收益";
	
	public enum COUPON_TYPE{
		jxq("jxq", "加息券", "使用说明：用于非“喵喵宝、招财喵、聚财喵”标的，享受额外加息收益"), 
		tyj_newer("tyj_newer", "体验金","使用说明：新用户专享，用于“招财喵”标的，抵扣投资本金！"),
		tyj_mmb("tyj_mmb", "体验金","使用说明：用于“喵喵宝”标的，抵扣投资本金，享7天收益！");

		private String	code;

		private String	name;

		private String	desc;

		public String getCode() {
			return code;
		}

		public String getName() {
			return name;
		}

		public String getDesc() {
			return desc;
		}

		COUPON_TYPE(String code, String name, String desc) {
			this.code = code;
			this.name = name;
			this.desc = desc;
		}
	}

	/**
	 * 
	 * <p>
	 * OMS查询分组类型
	 * </p>
	 * 
	 * @author chenzhuo
	 * @date 2016年5月19日 下午1:58:54
	 */
	public enum OMS_QUERY_GROUP {
		life_cycle(1, "生命周期"), bid_count(2, "投资次数"), accumulative_bid(3, "累计投资"), annualised_bid(4, "年化投资"), asset(5, "总资产");

		Integer	type;

		String	des;

		OMS_QUERY_GROUP(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (OMS_QUERY_GROUP type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}
	}

	public static final Long	QMBB_USER_ID	= 290275L;

	public static final String	COOP_CHANNEL	= "COOP_CHANNEL";

	/**
	 * 积分商品状态
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月6日 下午2:05:13
	 *
	 */
	public enum CreditProductStatus {
		news(0, "新建"), up_shelf(1, "上架"), down_shelf(2, "下架"), delete(3, "删除");

		Integer	type;

		String	des;

		CreditProductStatus(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (CreditProductStatus type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}

	/**
	 * 商品类别
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月6日 下午2:44:58
	 *
	 */
	public enum CreditProductType {
		//e_coupon(1, "电子券"),  产品要求去掉
		recharge_card(2, "充值卡"), physical_goods(3, "实物商品");

		Integer	type;

		String	des;

		CreditProductType(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (CreditProductType type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}

	// 抽奖需要多少积分key
	public static final String	KEY_LOTTERY_CREDIT	= "key_lottery_credit";

	/**
	 * 投资规则类型
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月7日 上午11:58:56
	 *
	 */
	public static class CreditInvestType {
		// 0:投资比例1:活动标投资2:首投3:生日投资
		public final static Integer	RATE		= 0;

		public final static Integer	ACTIVITY	= 1;

		public final static Integer	FIRST		= 2;

		public final static Integer	BIRTHDAY	= 3;
	}

	/**
	 * 其他规则类型
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月7日 上午11:59:10
	 *
	 */
	public static class CreditOtherType {
		// 0:APP首次登录1:社区2:签到3:绑卡
		public final static Integer	APP			= 0;

		public final static Integer	COMMUNITY	= 1;

		public final static Integer	SIGNIN		= 2;

		public final static Integer	BINDCARD	= 3;
	}

	/**
	 * 积分记录类型
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月7日 下午12:00:23
	 *
	 */
	public enum CreditRecordType {
		// 1:收入2:支出
		in(1, "收入"), out(2, "支出");

		Integer	type;

		String	des;

		CreditRecordType(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (CreditRecordType type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}

	/**
	 * 积分记录类型
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月7日 下午12:00:23
	 *
	 */
	public enum CreditRecordBusinessType {
		// 1:投资2:APP类3:社区类4:签到类5:绑卡类6:兑换类7:抽奖类
		invest(1, "投资类"), app(2, "APP类"), community(3, "社区类"), signin(4, "签到类"), bindcard(5, "绑卡类"), exchange(6, "兑换类"), lottery(7, "抽奖类"), shake(8, "摇钱树"),risk(9, "风险测评");

		Integer	type;

		String	des;

		CreditRecordBusinessType(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (CreditRecordBusinessType type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}

	/**
	 * 评论类型
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月15日 下午3:29:34
	 *
	 */
	public enum CreditCommunityType {
		// 1:评论2:点赞3:分享
		comment(1, "评论"), like(2, "点赞"), share(3, "分享");

		Integer	type;

		String	des;

		CreditCommunityType(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (CreditCommunityType type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}

	/**
	 * msgcenter 渠道
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月21日 下午6:33:34
	 *
	 */
	public enum MsgCenterChannel {
		// 消息适用的业务渠道，1：web,2：移动端
		web(1, "web"), app(2, "移动端");

		Integer	type;

		String	des;

		MsgCenterChannel(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (MsgCenterChannel type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}

	/**
	 * msgcenter 类型
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月21日 下午6:34:38
	 *
	 */
	public enum MsgCenterType {
		// 消息类型，1：积分通知
		credit(1, "积分通知"),
		system(2, "系统通知");

		Integer	type;

		String	des;

		MsgCenterType(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (MsgCenterType type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}

	/**
	 * msgcenter 状态
	 * 
	 * @author xuxiwei
	 *
	 * @date 2016年6月21日 下午6:36:43
	 *
	 */
	
	public enum MsgCenterPushType {
		
		
		unicast(0, "单播"), 
		listcast(1, "列播"), //(要求不超过500个device_token)
		filecast(2, "文件播"),//(多个device_token可通过文件形式批量发送）
		broadcast_android(3, "广播（android）"),
		broadcast_ios(4, "广播（ios）"),
		groupcast(5, "组播"),
		customizedcast(6, "自定义播");//(通过开发者自有的alias进行推送)

		Integer	type;

		String	des;

		MsgCenterPushType(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}
	
	public enum MsgCenterStatus {
		// 消息是否已经处理，1：未处理，2：已经处理，3：处理失败
		no(1, "未处理"), done(2, "已经处理"), fail(3, "处理失败");

		Integer	type;

		String	des;

		MsgCenterStatus(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (MsgCenterStatus type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}
	//债权挂牌期限不能超过14天
	public static final Integer CLAIMS_BID_DURATION = 14;
	
	/******************* 债权退出或续投 **********************/
	public static class ClaimsQoCType {
		/** 退出 */
		public static final int	QUIT	= 0;

		/** 续投**/
		public static final int	CONTINUE	= 1;
	}

	/******************* 债权用户退出状态 **********************/
	public static class ClaimsQuitStatus {
		/** 待处理*/
		public static final int	WAITING		= 0;

		/** 退出成功 **/
		public static final int	SUCCESS		= 1;

		/** 退出失败 **/
		public static final int	FAILURE		= 2;
	}
	
	/******************* 债权用户续投状态 **********************/
	public static class ClaimsContinueStatus {
		/** 待处理*/
		public static final int	WAITING		= 0;

		/** 续投成功 **/
		public static final int	SUCCESS		= 1;

		/** 续投失败 **/
		public static final int	FAILURE		= 2;
		
		/** 系统续投撤销 **/
		public static final int	UNDO		= 3;
	}
	
	public enum CloudPurchaseProductStatus {
		wait(1, "待发布"), saling(2, "正在售卖"), wait_lottery(3, "等待开奖"),lottery(4, "已开奖"), revoke(5, "撤销");

		Integer	type;

		String	des;

		CloudPurchaseProductStatus(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (CloudPurchaseProductStatus type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}
	
	/******************* 债权审核类型 **********************/
	public static class ClaimsReviewType {
		/** 发布审核 */
		public static final int	ISSUE		= 0;

		/** 满标审核 **/
		public static final int	FULLCHECK	= 1;
	}
	
	/***********  债权产品名称           ********/
	public enum ClaimsNameEnum {
		xda(1, "鑫定安"), xdb(2, "信贷宝"),xca(3,"鑫车安"),xfa(4,"鑫房安");

		Integer	type;

		String	des;

		ClaimsNameEnum(Integer type, String des) {
			this.type = type;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsNameEnum type : values()) {
				if (type.type.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getType() {
			return this.type;
		}

		public String getDes() {
			return this.des;
		}
	}
	
	/**
	 * 标的类型
	 * @author zhangxvle
	 * @date 2017.04.01
	 */
	public enum ClaimsTypeMethod {
		duf(0, "普通标"), one(1, "单人标"), group(2,"拼团标"),friend(3,"朋友圈标");

		Integer	vel;

		String	des;

		ClaimsTypeMethod(Integer vel, String des) {
			this.vel = vel;
			this.des = des;
		}

		public static String getCN(Integer v) {
			for (ClaimsTypeMethod type : values()) {
				if (type.vel.equals(v)) {
					return type.des;
				}
			}
			return "";
		}

		public Integer getV() {
			return this.vel;
		}

		public String getDes() {
			return this.des;
		}
	}
	
	/******************* 渠道列表 **********************/
	public static class ComChannel {
		/** web **/
		public static final String	WEB = "0";

		/** 安卓 **/
		public static final String	ANDROID = "1";

		/** 微信**/
		public static final String	WECHAT ="2";

		/** ios**/
		public static final String	IOS	= "3";

		/** oms **/
		public static final String	OMS	= "4";
		
		/**qq**/
		public static final String	QQ	= "5";
		
		/** 其他**/
		public static final String	OTHER = "other";
	}
	
	/******************* 常用键值类型 **********************/
	public static class CommonKeyValueMethod {
		/** 邀请人类型 */
		public static final String	INVITAT_TYPE		= "invitat_type";
		/** 返现时间类型 */
		public static final String	RETURN_TYPE		= "invitat_return";
		/** 用户类型 */
		public static final String	USER_TYPE		= "user_type";
		/**邀请返现类型*/
		public static final String	RETURN_USER_TYPE		="return_type";
		/**优惠可用类型*/
		public static final String	DISCPUNT_TYPE		="discount_type";
		/**时间类型*/
		public static final String	OMS_DATE_TYPE		="oms_date_type";
		
		
	}
	
	/******************* 常用键值类型 **********************/
	public static class BidAmountLimitMethod {
		/** 不限制 */
		public static final Integer	BID_TYPE_0		= 0;
		/** 限制 */
		public static final Integer	BID_TYPE_1		=1;
		
		
	}
}
